﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 数据追踪接口
/// </summary>
public interface IDataTracking
{	
	
	/// <summary>
	/// 启动游戏
	/// </summary>
	/// <param name="channelId"></param>
	void GameStart(string channelId);

	


	/// <summary>
	/// 登录
	/// </summary>
	/// <param name="user"></param>
	void OnLogin(User user);

	/// <summary>
	/// 充值
	/// </summary>
	/// <param name="orderId"></param>
	/// <param name="goods"></param>
	/// <param name="num"></param>
	/// <param name="currency"></param>
	/// <param name="paymentType"></param>
	void OnCharge(string orderId,GoodsArche goods,int num,string currency,string paymentType);
	
	/// <summary>
	/// 充值成功
	/// </summary>
	/// <param name="orderId"></param>
	/// <param name="goods"></param>
	/// <param name="num"></param>
	void OnChargeSuc(string orderId,GoodsArche goods,int num);
	
	/// <summary>
	/// 购买物品
	/// </summary>
	/// <param name="goods"></param>
	/// <param name="num"></param>
	void OnPurchase(GoodsArche goods,int num);
	
	/// <summary>
	/// 使用道具
	/// </summary>
	/// <param name="prop"></param>
	/// <param name="num"></param>
	//void OnUse(PropArche prop,int num);


	/// <summary>
	/// 进入角色选择界面
	/// </summary>
	void OnEnterPetsSelectPanel();
	
	/// <summary>
	/// 进入匹配界面
	/// </summary>
	void OnEnterMatchPanel();

	/// <summary>
	/// 进入战斗
	/// </summary>
	void OnEnterBattle(string roomId,int matchMode);

	/// <summary>
	/// 进入战斗结果
	/// </summary>
	/// <param name="roomId"></param>
	void OnEnterResultPanel(string roomId,int battleType,int winTeam,long myNewScore);

	/// <summary>
	/// 进入单机游戏关卡界面
	/// </summary>
	void OnEnterSinlePlayerStageSelectPanel();

	/// <summary>
	/// 进入单机游戏
	/// </summary>
	/// <param name="stage"></param>
	void OnEnterSinglePlayerBattle(int stage);

	/// <summary>
	/// 单机游戏关卡失败
	/// </summary>
	void OnSinlePlayerStageFailed(int stage,string failedCasuse);
	
	/// <summary>
	/// 单机游戏关卡完成
	/// </summary>
	void OnSinlePlayerStageComplete(int stage);

	void OnUpdate();
	
	void OnExitGame();
	void OnHomeAd();
	void OnResultAdDouble(int getDiamond);
	
}
